/*****************************************************************************
模块名  : CDialogPopup
文件名  : dialog_popup.h
相关文件:
实现功能:  作为所有二级界面的外框，二级界面嵌入到这个窗口里面，实现统一标题栏样式
作者    :
版本    : BoLight-V1.0-R1.0 Copyright (C) 2023 - 2055 All Rights Reserved
==============================================================================*/

#pragma once
#include <QWidget>
#include <QDialog>
using namespace std;

class CDialogPopup: public QDialog
{
	Q_OBJECT
public:
    explicit CDialogPopup(QWidget* parent = nullptr);
    ~CDialogPopup();

public:
    void    LoadStyleSheet();

    void    Init_SystemTitleBar();  // 设置原来的对话框标题栏
    void    Init_Interface();       // 设置窗体界面
    void    SetTitleName(QString strTitle);
    void    SetStyle();
    void    AddWidget(QWidget* widget);

protected:
    void    resizeEvent(QResizeEvent* event) override;

    void    mousePressEvent(QMouseEvent *event) override;
    void    mouseMoveEvent(QMouseEvent *event) override;
    void    paintEvent(QPaintEvent *event) override;

public slots:
    void    onButton_Close();
    void	onButton_Ok();
    void	onButton_Cancel();

signals:
    void	sglBtn_Close();
    void	sglBtn_Ok();
    void	sglBtn_Cancel();

private:
    class QVBoxLayout*      m_VWgtLayout;
    class QFrame*           m_titleFrame;
    class QFrame*           m_subFrame;
    class QFrame*           m_btnFrame;

    class QLabel*           m_lbTitle;
    class QPushButton*      m_pbClose;
    class QPushButton*      m_pbOk;
    class QPushButton*      m_pbCancel;

    QPoint                  m_nOffset;
};

